package com.lingxu.traffic.service.impl;


import com.baomidou.dynamic.datasource.annotation.DS;
import com.lingxu.module.process.controller.vo.IssmcVO;
import com.lingxu.traffic.dto.ProjectChangeDTO;
import com.lingxu.traffic.dto.ProjectOverviewDTO;
import com.lingxu.traffic.dto.ProjectWarningDTO;
import com.lingxu.traffic.mapper.ProjectMapper;
import com.lingxu.traffic.service.ProjectService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.math.BigDecimal;
import java.util.Collections;
import java.util.List;
import java.util.Map;

/**
 * @ClassName ProjectServiceImpl
 * @Description 描述
 * @Author junyi.wang
 * @Date 2025/7/3 16:36
 */
@Service
//@DS("slave")
public class ProjectServiceImpl implements ProjectService {
    @Autowired
    private ProjectMapper projectMapper;

    @Override
    public Integer getProjectStatistics() {
        return projectMapper.getProjectStatistics();
    }

    @Override
    public List<Map<String, Object>> getProjectProgressList(String PROTYPE) {
        return projectMapper.getProjectProgressList(PROTYPE);
    }

    @Override
    public ProjectOverviewDTO getProjectDetail(String projectName) {
        return projectMapper.getProjectDetail(projectName);
    }

    @Override
    public Map<String, Long> getCountProjectStatus() {
        return projectMapper.getCountProjectStatus();
    }

    @Override
    public Double getCountInvestment() {
        return projectMapper.getCountInvestment();
    }

    @Override
    public List<Map<String,Object>> getCountProjectType() {
        return projectMapper.getCountProjectType();
    }

    @Override
    public Integer getIssNum(String userId) {
        return projectMapper.getIssNum(userId);
    }

    @Override
    public IssmcVO getIssmc(String userId) {
        return projectMapper.getIssmc(userId);
    }

    @Override
    public Integer getBdNum(String projectId) {
        return projectMapper.getBdNum(projectId);
    }

    @Override
    public List<Map<String, Object>> getProjectProgressGD() {
        return projectMapper.getGD();
    }

    @Override
    public List<Map<String, Object>> getProjectProgressGH() {
        return projectMapper.getGH();
    }

    @Override
    public ProjectOverviewDTO getGeneralOverview(String proType) {
        return projectMapper.getGeneralOverview(proType);
    }

    @Override
    public ProjectOverviewDTO getGeneralOverviewGH(String proType) {
        return projectMapper.getGeneralOverviewGH(proType);
    }

    @Override
    public ProjectOverviewDTO getGeneralOverviewGD(String proType) {
        return projectMapper.getGeneralOverviewGD(proType);    }

    @Override
    public List<ProjectChangeDTO> getChangeSupervise(String proType) {
        return projectMapper.getChangeSupervise(proType);
    }

    @Override
    public List<ProjectWarningDTO> getWarningDataAnalyze() {
        return projectMapper.getWarningDataAnalyze();
    }
}

